package com.gomore.opple.module.addbankcard;


import com.gomore.opple.BasePresenter;
import com.gomore.opple.BaseView;
import com.gomore.opple.rest.applybill.TOBankBindEntity;
import com.gomore.opple.rest.applybill.TOCommAuthEntity;
import com.gomore.opple.web.cgform.consumer.entity.TOConsumerEntity;

import okhttp3.MultipartBody;

public interface AddBankCardContract {

    interface View extends BaseView<Presenter> {

        /**
         * 显示进度条
         */
        void showProgressDialog();

        /**
         * 隐藏进度条
         */
        void hideProgressDialog();

        /**
         * 展示消息
         *
         * @param msg 消息
         */
        void showMessage(String msg);

        /**
         * 展示消息
         *
         * @param msgId 消息id
         */
        void showMessage(int msgId);

        /**
         * 展示下一页
         */
        void showSecondPage();

        /**
         * 结束页面
         */
        void finishActivity();

    }

    interface Presenter extends BasePresenter {

        /**
         * 准备初始化数据
         */
        void prepareInitData();

        /**
         * 验证银行卡
         *
         * @param toCommAuthEntity
         */
        void commAuth(TOCommAuthEntity toCommAuthEntity);

        /**
         * 绑定银行卡
         *
         * @param toBankBindEntity
         */

        void bind(TOBankBindEntity toBankBindEntity);

        /**
         * 发送短信验证码
         *
         * @param mobile
         */
        void sendCode(String mobile);
    }
}
